package com.xydtech.workflow.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.xydtech.common.annotation.Excel;
import com.xydtech.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 流程定义对象 wfl_flowdefine
 *
 * @author JHON
 * @date 2021-04-11
 */
public class WflFlowdefine extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 流程编号 */
    private Long flowId;

    /** 流程名称 */
    @Excel(name = "流程名称")
    private String flowName;

    /** 流程类型 */
    @Excel(name = "流程类型")
    private String flowType;

    /** 启用版本号 */
    @Excel(name = "启用版本号")
    private Long curreVersion;

    /** 最新版本 */
    @Excel(name = "最新版本")
    private Long newVersion;

    /** 流程说明 */
    @Excel(name = "流程说明")
    private String flowDesc;

    /** 流程状态流程状态 0-停用 1-启用 */
    @Excel(name = "流程状态流程状态 0-停用 1-启用")
    private String sts;

    /** 配置进度            0-未配置            1-节点配置            2-审批配置            3-页面配置            4-跳转配置            5-逻辑配置            6-影像配置 */
    @Excel(name = "配置进度            0-未配置            1-节点配置            2-审批配置            3-页面配置            4-跳转配置            5-逻辑配置            6-影像配置")
    private String flowProgress;


    /** 创建人 */
    private Long createUser;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createUserName;
    /** 更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date upTime;

    /** 更新人 */
    @Excel(name = "更新人")
    private Long upUser;
    /** 更新人 */
    @Excel(name = "更新人")
    private String upUserName;

    /** 法人机构 */
    @Excel(name = "法人机构")
    private Long deptId;
    /** 流程启动实例号 */
    private String instanceId;

    public String getCreateUserName() {
        return createUserName;
    }

    public void setCreateUserName(String createUserName) {
        this.createUserName = createUserName;
    }

    public String getUpUserName() {
        return upUserName;
    }

    public void setUpUserName(String upUserName) {
        this.upUserName = upUserName;
    }


    public void setFlowId(Long flowId) {
        this.flowId = flowId;
    }

    public Long getFlowId() {
        return flowId;
    }

    public void setFlowName(String flowName) {
        this.flowName = flowName;
    }

    public String getFlowName() {
        return flowName;
    }

    public void setFlowType(String flowType) {
        this.flowType = flowType;
    }

    public String getFlowType() {
        return flowType;
    }

    public void setCurreVersion(Long curreVersion) {
        this.curreVersion = curreVersion;
    }

    public Long getCurreVersion() {
        return curreVersion;
    }

    public void setNewVersion(Long newVersion) {
        this.newVersion = newVersion;
    }

    public Long getNewVersion() {
        return newVersion;
    }

    public void setFlowDesc(String flowDesc) {
        this.flowDesc = flowDesc;
    }

    public String getFlowDesc() {
        return flowDesc;
    }

    public void setSts(String sts) {
        this.sts = sts;
    }

    public String getSts() {
        return sts;
    }

    public void setFlowProgress(String flowProgress) {
        this.flowProgress = flowProgress;
    }

    public String getFlowProgress() {
        return flowProgress;
    }

    public void setCreateUser(Long createUser) {
        this.createUser = createUser;
    }

    public Long getCreateUser() {
        return createUser;
    }

    public void setUpTime(Date upTime) {
        this.upTime = upTime;
    }

    public Date getUpTime() {
        return upTime;
    }

    public void setUpUser(Long upUser) {
        this.upUser = upUser;
    }

    public Long getUpUser() {
        return upUser;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }

    public String getInstanceId() {
        return instanceId;
    }

    public void setInstanceId(String instanceId) {
        this.instanceId = instanceId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("flowId", getFlowId())
                .append("flowName", getFlowName())
                .append("flowType", getFlowType())
                .append("curreVersion", getCurreVersion())
                .append("newVersion", getNewVersion())
                .append("flowDesc", getFlowDesc())
                .append("sts", getSts())
                .append("flowProgress", getFlowProgress())
                .append("createTime", getCreateTime())
                .append("createUser", getCreateUser())
                .append("createUserName", getCreateUserName())
                .append("upTime", getUpTime())
                .append("upUser", getUpUser())
                .append("upUserName", getUpUserName())
                .toString();
    }
}
